#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
为钉钉/飞书消息输出筛选消息标题和内容字段
Attributes:
    __version__ (str): "0.0.1"
    __copyright__ (str): "Copyright (C) 2025 z"
    __license__ (str): "MIT"
    __author__ (str): "Z"
"""

fluendbit_systemd_title_keys = {'_index'}
fluendbit_systemd_message_keys = {'_PID', 'customize_env', '_COMM', 'MESSAGE', '_TRANSPORT', '_SYSTEMD_UNIT', '_CMDLINE', '_HOSTNAME', '_EXE', '_index'}

fluendbit_kubernetes_title_keys = {'kubernetes_pod_name'}
fluendbit_kubernetes_message_keys = {'customize_env', 'kubernetes_host', 'kubernetes_namespace_name', 'log', 'kubernetes_pod_ip', 'kubernetes_container_image', 'stream', '_index'}

fluendbit_logs_title_keys = {'_index'}
fluendbit_logs_message_keys = {'log', 'message', 'customize_env', 'source_device'}

distribute_title_keys = {'title'}
distribute_message_keys = {'result_msg'}

get_prometheus_title_keys = {'description'}
get_prometheus_message_keys = {'status', 'alertname', 'hostname', 'instance', 'scheme', 'job', 'monitor', 'severity', 'summary', 'value', 'group', 'externalURL'}

alerts_get_title_keys = {'alertname'}
alerts_get_message_keys = {'state', 'prometheus', 'severity', 'hostname', 'instance', 'job', 'monitor', 'value', 'summary', 'description'}

get_elastalert_nginx_title_keys = {'http_host', 'status'}
get_elastalert_nginx_message_keys = {'status', 'request', 'referer', 'agent_name', 'scheme', 'server_protocol', 'http_host', 'http_user_agent', 'client_ip', 'http_x_forwarded_for', 'server_host', 'url', 'cookie', 'request_body'}

get_elastalert_nginx_error_title_keys = {'filebeat_type'}
get_elastalert_nginx_error_message_keys = {'log_file_path', 'message'}

get_elastalert_syslog_title_keys = {'filebeat_type'}
get_elastalert_syslog_message_keys = {'log_file_path', 'message'}

get_elastalert_java_info_title_keys = {'filebeat_type'}
get_elastalert_java_info_message_keys = {'log_file_path', 'message'}

get_elastalert_java_error_title_keys = {'filebeat_type'}
get_elastalert_java_error_message_keys = {'log_file_path', 'message'}

get_elastalert_mysql_slow_title_keys = {'filebeat_type'}
get_elastalert_mysql_slow_message_keys = {'log_file_path', 'message'}

get_elastalert_mysql_error_title_keys = {'filebeat_type'}
get_elastalert_mysql_error_message_keys = {'log_file_path', 'message'}

# 巡检
test_domain_expire_title_keys = {'title'}
test_domain_expire_message_keys = {"domain", "assertion"}
test_cert_expire_title_keys = {'title'}
test_cert_expire_message_keys = {"domain", "assertion"}
test_response_200_title_keys = {'title'}
test_response_200_message_keys = {"domain", "filebeat_type", "ip", "port", "http", "assertion"}
# 报告
report_title_keys = {'title'}
report_message_keys = {"inspection", "prometheus", "syslog", "nginx_error", "nginx_status", "mysql_slow", "mysql_error", "java_info", "java_error"}
